package site.yunnong.atvris.dao.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import java.io.Serializable;

import java.time.LocalDateTime;

@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Video implements Serializable {
    private Long id;

    private Long uvid;

    private Long uuid;

    private String userAvatar;

    private String userNickname;

    private Long pid;

    private String partitionName;

    private Integer level;

    private Integer status;

    private String url;

    private String cover;

    private Long videoTime;

    private Integer seriesNum;

    private String title;

    private Integer videoType;

    private Integer rePrintPower;

    private String source;

    private String originalAuthor;

    private String fromUrl;

    private String remark;

    private LocalDateTime uploadTime;

    private LocalDateTime updateTime;

    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUvid() {
        return uvid;
    }

    public void setUvid(Long uvid) {
        this.uvid = uvid;
    }

    public Long getUuid() {
        return uuid;
    }

    public void setUuid(Long uuid) {
        this.uuid = uuid;
    }

    public String getUserAvatar() {
        return userAvatar;
    }

    public void setUserAvatar(String userAvatar) {
        this.userAvatar = userAvatar;
    }

    public String getUserNickname() {
        return userNickname;
    }

    public void setUserNickname(String userNickname) {
        this.userNickname = userNickname;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public String getPartitionName() {
        return partitionName;
    }

    public void setPartitionName(String partitionName) {
        this.partitionName = partitionName;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getCover() {
        return cover;
    }

    public void setCover(String cover) {
        this.cover = cover;
    }

    public Long getVideoTime() {
        return videoTime;
    }

    public void setVideoTime(Long videoTime) {
        this.videoTime = videoTime;
    }

    public Integer getSeriesNum() {
        return seriesNum;
    }

    public void setSeriesNum(Integer seriesNum) {
        this.seriesNum = seriesNum;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getVideoType() {
        return videoType;
    }

    public void setVideoType(Integer videoType) {
        this.videoType = videoType;
    }

    public Integer getRePrintPower() {
        return rePrintPower;
    }

    public void setRePrintPower(Integer rePrintPower) {
        this.rePrintPower = rePrintPower;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getOriginalAuthor() {
        return originalAuthor;
    }

    public void setOriginalAuthor(String originalAuthor) {
        this.originalAuthor = originalAuthor;
    }

    public String getFromUrl() {
        return fromUrl;
    }

    public void setFromUrl(String fromUrl) {
        this.fromUrl = fromUrl;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public LocalDateTime getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(LocalDateTime uploadTime) {
        this.uploadTime = uploadTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", uvid=").append(uvid);
        sb.append(", uuid=").append(uuid);
        sb.append(", userAvatar=").append(userAvatar);
        sb.append(", userNickname=").append(userNickname);
        sb.append(", pid=").append(pid);
        sb.append(", partitionName=").append(partitionName);
        sb.append(", level=").append(level);
        sb.append(", status=").append(status);
        sb.append(", url=").append(url);
        sb.append(", cover=").append(cover);
        sb.append(", videoTime=").append(videoTime);
        sb.append(", seriesNum=").append(seriesNum);
        sb.append(", title=").append(title);
        sb.append(", videoType=").append(videoType);
        sb.append(", rePrintPower=").append(rePrintPower);
        sb.append(", source=").append(source);
        sb.append(", originalAuthor=").append(originalAuthor);
        sb.append(", fromUrl=").append(fromUrl);
        sb.append(", remark=").append(remark);
        sb.append(", uploadTime=").append(uploadTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}